@charset "UTF-8";
/*  blitz — CSS framework for reflowable eBooks
    Version 1.4.0 by Jiminy Panoz
    Codename: Stop the World
    License: MIT (https://opensource.org/licenses/MIT)   */
/* NAMESPACES */
@namespace h "http://www.w3.org/1999/xhtml/";
@namespace epub "http://www.idpf.org/2007/ops";
/* if you need to style epub:type */
@namespace m "http://www.w3.org/1998/Math/MathML/";
/* if you need to style MathML */
@namespace svg "http://www.w3.org/2000/svg";
/* if you need to style SVG */
html {
  /* Don't use it for styling, used as selector which can take a punch if anything goes wrong above */
}
/* Begin CSS */
/* RESET */
/* So here's the trick, we must reset to manage a number of problems once and for all: 
- HTML5 backwards compatibility (EPUB 3 file in EPUB 2 app); 
- user settings (e.g. line-height on Kobo and Kindle); 
- CSS bloat (DRY); 
- KFX for which a reset using `border: 0` seems to disable support; 
- etc.
It all started as a normalize and became a reset given the magnitude of the task.                                                          
*/
article, address, aside, blockquote, canvas, dd, details, div, dl, dt, figure,
figcaption, footer, hr, li, main, nav, ol, pre, section, summary, ul {
  margin: 0;
  padding: 0;
  /* RS may apply vertical padding to el such as p */
  font-size: 1em;
  /* Font size in pixel disable the user setting in legacy RMSDK */
  line-height: inherit;
  /* Kindle ignores it, Kobo needs it. If you don’t use inherit, the user setting may be disabled on some Kobo devices */
  text-indent: 0;
  font-style: normal;
  font-weight: normal;
}
/* This is absolutely necessary for backwards compatibility */
article, aside, figure, figcaption, footer, header, main, nav, section {
  display: block;
}
[hidden] { display: none; }

/* [Opinionated] Default to prevent bloat in case linear="no" is rendered as linear="yes" */
nav[epub|type~="page-list"] {
  display: none;
}

a, abbr, b, bdi, bdo, cite, code, data, del, dfn, em, i, ins, kbd, mark, q, rp,
rt, rtc, ruby, s, samp, small, span, strong, sub, sup, time, var {
  /* font-size: inherit; */
  vertical-align: baseline;
  /* font-style: inherit; */
  /* Taking nesting of inline elements into account (e.g. sup nested in em) */
  /* font-weight: inherit; */
  /* Taking nestiog of inline elements into account (e.g. em nested in strong) */
  /* color: inherit;
  text-decoration: none; */
}

/* Trying to prevent blank page if element with margin-bottom at the end of xhtml */
body > :last-child,
body > section > :last-child {
  margin-bottom: 0;
}

@media print {
    h2, h3, p {
        orphans: 3;
        widows: 3;
    }
}

body {
  font-size: 100%;
  line-height: 1.2;
  margin: 0;
  padding: 0;
  widows: 0;
  orphans: 0;
  text-align: justify;
}
/* TYPOGRAPHY */
h1, h2, h3, h4, h5, h6, blockquote p cite, dt, pre, address, table, caption,
th, td, .align-left, .align-center, .align-right, .caption, .no-hyphens {
  -webkit-hyphens: none;
  -epub-hyphens: none;
  hyphens: none;
}
h1, h2, h3, h4, h5, h6, dt, hr {
  page-break-inside: avoid;
  break-inside: avoid;
  page-break-after: avoid;
  break-after: avoid;
}
h1 {
  margin-top: 0em;
}
h4 {
  margin-bottom: 0em;
}
p {
  margin: 1.2em 0;
  text-indent: 0;
}
.footnote, .inline-footnote {
  font-size: 75%;
  line-height: 1.8;
  text-indent: 0;
}
blockquote {
  margin: 0.6em 2%;
  padding: 0.6em 3%;
}
/* blockquote p {
  text-indent: 0;
}
blockquote p i,
blockquote p em,
blockquote p cite {
  font-style: normal;
} */

/* MICRO TYPOGRAPHY */
a {
  text-decoration: underline;
  font-weight: bold;
}

i, cite, dfn, em { font-style: italic; }
/* Get back to normal when italic nested in italic */
i i, i cite, i dfn, i em,
cite i, cite cite, cite dfn, cite em,
dfn i, dfn cite, dfn dfn, dfn em,
em i, em cite, em dfn, em em {
  font-style: normal;
}
b, strong {
  font-weight: bold;
}
del, s {
  text-decoration: line-through;
}
mark {
  background-color: rgba(127, 127, 127, 0.0);
  color: inherit;
}
ins {
  /* Styles */
}
small {
  /* font-size: 0.8125em; */
  font-size: 75%;
}
/* Styling is improved to prevent sub from affecting line-height */
sub {
  font-size: 75%;
  line-height: 1.2;
  vertical-align: sub;
  /* Fallback */
  vertical-align: -20%;
}
/* Styling is improved to prevent sup from affecting line-height */
sup {
  font-size: 75%;
  line-height: 1.2;
  vertical-align: super;
  /* Fallback */
  vertical-align: 33%;
}

/* FIGURES + IMAGES  */
figure {
  display: table;
  page-break-inside: avoid;
  break-inside: avoid;
  margin: 1.2em auto;
  min-width: 50%;
}

figcaption,
.caption {
  font-size: 75%;
  line-height: 1.8;
  text-indent: 0;
  display: table-caption;
  caption-side: bottom;
}

/* HACK for ibooks not showing images for some reason */
[__ibooks_internal_theme] figure {
  display: block;
}
[__ibooks_internal_theme] figure img {
  display: block;
  margin: 0 auto;
}
[__ibooks_internal_theme] figure figcaption {
  display: block;
  margin: 0 auto;
}

img {
  max-width: 100%;
  /* height: auto; */
  object-fit: contain;
  margin: auto;
  display: block;
}

/* LISTS */
ul, ol {
  margin: 1.2em 0;
  padding-left: 5%;
}
ul {
  list-style-type: disc;
  list-style-position: outside;
}
ul ul {
  list-style-type: square;
}
ol {
  list-style-type: decimal;
  list-style-position: outside;
}
ol ol {
  list-style-type: lower-roman;
}
/* DEFINITION LISTS */
dl {
  margin: 1.2em 0 1.2em 5%;
}
dt {
  margin: 1.2em 0 0 0;
  font-weight: bold;
}
dd { }
dt > dfn {
  font-style: normal;
  font-weight: bold;
}

/* HORIZONTAL RULES — CONTEXT BREAKS */
hr {
  width: 50%;
  margin-left: 25%;
  margin-right: 25%;
  margin-top: 1.2em;
  margin-bottom: 1.2em;
  height: 0;
  border: none;
  border-top: 0.125em solid currentColor;
  /* currentColor = color of text (getting around night mode) */
  border-top-color: currentColor;
  /* kybook specific */
  border-top-color: dividerColor;
  /* opacity: 0.5; */
  /* Opacity -> grayscale. If opacity is declared for too many elements in a XHTML file, performance of legacy RMSDK takes a hit */
}

/* TABLES */
table {
  display: table;
  table-layout: auto;
  border-collapse: collapse;
  border-spacing: 0;
  max-width: 100%;
  margin: 0.6em auto;
  font-feature-settings: "tnum" 1;
  font-variant-numeric: tabular-nums;
}

caption {
  caption-side: top;
  text-align: center;
  font-weight: bold;
}
th {
  empty-cells: show;
  border-bottom: 0.125em solid currentColor;
  /* Current color = color of text (inverted in night mode) */
  padding: 0.6em 0.25em 0.6em 0;
  text-align: left;
  font-weight: bold;
}
td {
  empty-cells: show;
  border-bottom: 0.0625em solid currentColor;
  /* Current color = color of text (inverted in night mode) */
  padding: 0.6em 0.25em 0.6em 0;
  text-align: left;
}
.table-fixed { table-layout: fixed; }
/* CODE */
pre {
  margin: 1.2em 0 1.2em 5%;
  word-wrap: break-word;
  white-space: pre-wrap;
  -ms-tab-size: 2;
  -moz-tab-size: 2;
  -webkit-tab-size: 2;
  tab-size: 2;
}

/* MEDIAS */
canvas, iframe, svg, video {
  width: auto;
  max-width: 100%;
  height: auto;
}
svg {
  object-fit: contain;
}

/* Clearings */
.clear {
  /* may be useful if an element is floating in a container */
  clear: both;
}

/* Text align */
.justified { text-align: justify; }
.align-left { text-align: left; }
.align-center { text-align: center; text-indent: 0; }
.align-right { text-align: right; text-indent: 0; }

/* Indents */
.indent { text-indent: 1em; }
.no-indent { text-indent: 0; }
/* Since em will reflow with font-size user setting, we’re using % */
.hanging-indent { text-indent: -5%; margin-left: 5%; }

/* Font styles */
.bold-italic { font-weight: bold; font-style: italic; }
.small-caps { font-variant: small-caps; letter-spacing: 0.0625em; }
.caps-to-small-caps {
  text-transform: lowercase;
  font-variant: small-caps;
  letter-spacing: 0.0625em;
}

/* Misc */
/* PAGE BREAKS */
.break-before { page-break-before: always; break-before: always; }
.break-after { page-break-after: always; break-after: always; }
.break-inside { page-break-inside: auto; break-inside: auto; }

/* This one works in iBooks, useful for figure or to keep 2 elements together */
.no-break-inside { page-break-inside: avoid; break-inside: avoid; }
